package com.macro.mall.product.service;


import com.alibaba.fastjson.JSONObject;
import com.macro.mall.model.PmProdSpec;
import com.macro.mall.model.PmProduct;
import com.macro.mall.product.dto.PmProdSpecDto;
import com.macro.mall.product.dto.PmProductDto;
import com.macro.mall.product.dto.PmProductViewDto;

import java.util.List;
import java.util.Map;


public interface PmProductService {
    List<PmProdSpec> list(PmProdSpecDto serverSpecDto);
    List<PmProdSpec> listPage(int pageNum, int pageSize, PmProdSpecDto serverSpecDto);
    List<PmProductDto> converDataList(List<PmProduct> productList);

    List<Map<String,Object>> listPageByMixture(int pageNum, int pageSize, String productName, Long channelId, Integer status);

    int save(PmProductDto productDto);
    int changeStatus(Long prodId,String prodCode,Integer status,String updateDesc);

    PmProduct getById(Long id);
    PmProductDto converDataInfo(PmProduct pmProduct);
    PmProductViewDto converDataInfoView (PmProduct pmProduct);

    JSONObject getProdStockSetListShow(String skuCodes,String releaseAreas,Long prodSpecId,Long productId,Long channelId) throws Exception;

    PmProdSpec getProdSpecByProdId(Long prodId);
}
